﻿<div id="dlg_CondicionMontoServicio" title="Condición por Monto del Servicio">
    <div class="col-sm-12">
        <div class="col-sm-12 no-padding">
            <div class="col-sm-12 no-padding">
                <label>Servicio</label>
                <input id="ddl_MontoServ_Servicio" data-role="dropdownlist" data-auto-bind="false" data-value-primitive="true" data-option-label="Seleccione"
                    data-bind="value: MontoServicio.IdServicio, source: serviciosDS, events: { change: OnChange_Service }" data-value-field="IdServicio" data-text-field="Nombre" style="width: 100%" />
            </div>
        </div>

        <div class="col-sm-12 no-padding">
            <div class="col-sm-12 no-padding">
                <label>SubTipo</label>
            </div>
            <div class="col-sm-12 no-padding">
                <input id="ddl_MontoServ_SubTipo" data-role="dropdownlist" data-auto-bind="false" data-value-primitive="true" data-option-label="Seleccione"
                    data-bind="value: MontoServicio.IdSubtipo, source: subtiposDS, enabled: isEnabled_Service, events: { change: OnChange_Subtipo }" data-value-field="IdSubtipo" data-text-field="Nombre" style="width: 100%" />
            </div>
        </div>

        <div class="space-10"></div>

        <div class="col-sm-12 well">
            <div class="row col-sm-12">
                <label>Condición</label>
            </div>

            <div class="row col-sm-12">
                <div class="col-sm-9">
                    <label>Monto para cumplir la condición </label>
                </div>

                <div class="col-sm-3 no-padding">
                    <input id="txt_MontoServ_MontoServicio" class="form-control focused" type="text" data-bind="value: MontoServicio.Cantidad, enabled: isEnabled_Subtipo">
                </div>
            </div>

            <div class="row col-sm-12">
                <label class="col-sm-12 no-padding">El benecio se otorga cuando:</label>

                <div class="col-sm-12">
                    <label class="checkbox inline">
                        <input type="checkbox" value="option1" id="chk_MontoServ_CumpleCondicion" data-bind="checked: MontoServicio.CumpleCondicion, enabled: isEnabled_Subtipo">
                        Cada vez que se cumpla la condición
                    </label>

                    <label class="checkbox inline">
                        <input type="checkbox" value="option1" id="chk_MontoServ_MayorCondicion" data-bind="checked: MontoServicio.MayorCondicion, enabled: isEnabled_Subtipo">
                        El valor es mayor o igual a la condición
                    </label>
                </div>
            </div>
        </div>

        <div class="col-sm-12 align-center">
            <div class="space-4"></div>
            <button id="btn_MontoServ_Aceptar" class="btn btn-sm btn-primary" data-bind="click: OnAccept">Aceptar</button>
            <button id="btn_MontoServ_Cancelar" class="btn btn-sm btn-default" data-bind="click: OnCancel">Cancelar</button>
        </div>
    </div>
</div>

<script>
    var CondicionMontoServicioVM;

    $(document).ready(function () {
        $("#dlg_CondicionCantidadServicios").on("dialogopen", function (e, ui) {
            SetCondMontoServicio_ViewModel();

            CondicionMontoServicioVM.set('serviciosDS', AjaxParamsActionPost('@Url.Action("GetEntities", "Servicio")', { 'rowStatus': true }));
        });
    });

    function SetCondMontoServicio_ViewModel() {
        CondicionMontoServicioVM = new kendo.observable({
            MontoServicio: AjaxActionGet('@Url.Action("CreateEntity", "Condicion")'),
            serviciosDS: [],
            subtiposDS: [],
            isEnabled_Service: false,
            isEnabled_Subtipo: false,
            toJSON: function () {
                return kendo.data.ObservableObject.prototype.toJSON.call(this.MontoServicio);
            },

            /* start: Control events */
            OnInit: function () {
                this.set('MontoServicio', AjaxActionGet('@Url.Action("CreateEntity", "Condicion")'));
                this.set('isEnabled_Service', false);
            },
            OnChange_Service: function () {
                debugger
                var data = AjaxParamsActionPost('@Url.Action("GetEntitiesByService", "Subtipo")', {
                    'idServicio': $('#ddl_MontoServ_Servicio').data('kendoDropDownList').value(),
                    'rowStatus': true
                });

                if (data.length > 0 && data != null) {
                    this.set('subtiposDS', data);
                    this.set('isEnabled_Service', true);
                } else {
                    $('#ddl_MontoServ_SubTipo').data('kendoDropDownList').select(0);
                    this.set('isEnabled_Service', false);
                }
            },
            OnChange_Subtipo: function () {
                $('#ddl_MontoServ_SubTipo').data('kendoDropDownList').select() > 0 ? this.set('isEnabled_Subtipo', true) : this.set('isEnabled_Subtipo', false);
            },
            OnAccept: function () {
                debugger
                var $ddl_Servicio = $('#ddl_MontoServ_Servicio').data('kendoDropDownList');
                var $ddl_Subtipo = $('#ddl_MontoServ_SubTipo').data('kendoDropDownList');

                if ($ddl_Servicio.value() != '') {
                    if ($ddl_Subtipo.value() != '') {
                        this.MontoServicio.set('IdTipoCondicion', SeleccionarCondicionVM.Helper.get('IdTipoCondicion'));
                        this.MontoServicio.set('Codigo', SetNewCode(PromocionVM.condicionesResultDS, 'Codigo'));

                        this.MontoServicio.Servicio.set('IdServicio', $ddl_Servicio.value());
                        this.MontoServicio.Servicio.set('Nombre', $ddl_Servicio.text());

                        this.MontoServicio.Subtipo.set('IdSubtipo', $ddl_Subtipo.value());
                        this.MontoServicio.Subtipo.set('Nombre', $ddl_Subtipo.text());

                        PromocionVM.condicionesResultDS.push(this.toJSON());

                        $('#dlg_CondicionMontoServicio').dialog('close');
                    } else {
                        alert('Debe seleccionar un Subtipo');
                    }
                } else {
                    alert('Debe seleccionar un Servicio');
                }
            },
            OnCancel: function () {
                this.OnInit();
                SeleccionarCondicionVM.Helper.set('IdTipoCondicion', null);
                $('#dlg_CondicionMontoServicio').dialog('close');
            }
            /* end: Control events*/
        });

        kendo.bind('#dlg_CondicionMontoServicio', CondicionMontoServicioVM);
    }
</script>
